var _row = 1;
var _col = 1;

function initRowCol(){
	var content = $('.content-full');
	var flag = true;
	if(typeof(content) != 'undefined' && typeof(content.attr('row')) != 'undefined' && typeof(content.attr('col')) != 'undefined'){
		if(isIntNum($.trim(content.attr('row'))) && isIntNum($.trim(content.attr('col')))){
			_row = $.trim(content.attr('row'));
			_col = $.trim(content.attr('col'));
			flag = false;
		}
	}
	if(flag){
		var len = $(".shrink").length;
		if(len > 1){
			getRowCol(len);
		}
	}
}

function getRowCol(num){
	var value = parseInt( num / 2 );
	var flag = false;
	var Dvalue = '';
	for(var i= value; i > 1; i--){
		var mod = num % i;
		if(mod == 0){
			var col = i;
			var row = num / i
			var temp = Math.abs(col-row);
			if(Dvalue == '' || temp < Dvalue){
				Dvalue = temp;
				_col = col;
				_row = row;
				flag = true;
			}
		}
	}
	if(!flag){
		getRowCol(num+1);
	}
}

function isIntNum(value){
	var patrn = /^(-)?\d+(\.\d+)?$/;
    if (patrn.exec(value) == null || value == "") {
        return false
    } else {
        return true
    }
}

function initShrink(){
	initRowCol();
	initLayout();
}

initShrink();

function initLayout(){
	$(".shrink").each(function(index){
		//计算偏移量
		var offsetX = index % _col;
		var offsetY = (parseInt( index / _col ) ) % _row;
		$(this).attr('offsetX',offsetX);
		$(this).attr('offsetY',offsetY);
		var left = 0.1;
		var top = 0.1;
		var right = 0.1;
		var bottom = 0.1;
		if(offsetX == 0){
			left = 0.2;
		}
		if(offsetX == (_col - 1)){
			right = 0.2;
		}
		if(offsetY == 0){
			top = 0.2;
		}
		if(offsetY == (_row - 1)){
			bottom = 0.2;
		}

		$(this).attr('style',' width: calc(100% / '+_col+');height: calc(100% / '+_row+');'
				+ 'left: calc((100% / '+_col+') * '+ offsetX +' ); top: calc((100% / '+_row+') * '+ offsetY +' );'
				+ 'border-top-width: ' + top + 'em;'
				+ 'border-right-width: ' + right + 'em;'
				+ 'border-bottom-width: ' + bottom + 'em;'
				+ 'border-left-width: ' + left +'em;');
	})
}

$("body").on("click", ".shrinkTitle", function (){
	var index = $(this).index('.shrinkTitle');
	changeShrink(index);
})

function changeShrink(index){
	var shrink = $(".shrink").eq(index);
	var offsetX = shrink.attr('offsetX');
	var offsetY = shrink.attr('offsetY');
	if(shrink.hasClass('enlarge')){
		shrink.addClass('narrow');
		shrink.removeClass('enlarge');
		var left = (100 / _col ) * offsetX;
		var top = (100 / _row ) * offsetY;
		var styles = {
			'left': left + '%',
			'top': top + '%',
			'width': 100 / _col+'%',
			'height': 100 / _row+'%',
		};
		shrink.animate(styles,function(){
			$(this).css('width: calc(100% / '+_col+');height: calc(100% / '+_row+');'
			+'left: calc((100% / '+_col+') * '+ offsetX +' ); top: calc((100% / '+_row+') * '+ offsetY +');');
		});
	}else{
		shrink.addClass('enlarge');
		shrink.removeClass('narrow');
		var styles = {
			'left': '0',
			'top': '0',
			'width': '100%',
			'height': '100%',
		};
		shrink.animate(styles);
	}
}
